package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 审计决算表
 *
 * @author code-generate
 * @date 2022-11-02
 */
@Data
@DbTable(tableName = "t_proj_audit")
public class ProjAudit extends BaseEntity {

    /**
     * 主键ID
     */
    @DbTableField(columnName = "c_proj_audit_id", dbType = DbTypeEnum.VARCHAR)
    public String projAuditId;

    /**
     * 项目ID
     */
    @DbTableField(columnName = "c_proj_id", dbType = DbTypeEnum.VARCHAR)
    public String projId;

    /**
     * 概算批复文号
     */
    @DbTableField(columnName = "c_budget_estimate_approval_no", dbType = DbTypeEnum.VARCHAR)
    public String budgetEstimateApprovalNo;

    /**
     * 审计报告文号
     */
    @DbTableField(columnName = "c_audit_approval_no", dbType = DbTypeEnum.VARCHAR)
    public String auditApprovalNo;

    /**
     * 结算类型
     */
    @DbTableField(columnName = "c_settlement_type", dbType = DbTypeEnum.VARCHAR)
    public String settlementType;

    /**
     * 备案文号
     */
    @DbTableField(columnName = "c_filing_no", dbType = DbTypeEnum.VARCHAR)
    public String filingNo;

    /**
     * 备案时间
     */
    @DbTableField(columnName = "c_filing_time", dbType = DbTypeEnum.DATE)
    public LocalDate filingTime;

    /**
     * 送审金额/结算(内审)金额（元）
     */
    @DbTableField(columnName = "c_submit_money", dbType = DbTypeEnum.DECIMAL)
    public BigDecimal submitMoney;

    /**
     * 送审时间
     */
    @DbTableField(columnName = "c_submit_time", dbType = DbTypeEnum.DATE)
    public LocalDate submitTime;

    /**
     * 审定金额/结算(终审)金额（元）
     */
    @DbTableField(columnName = "c_approved_money", dbType = DbTypeEnum.DECIMAL)
    public BigDecimal approvedMoney;

    /**
     * 审定时间
     */
    @DbTableField(columnName = "c_approved_time", dbType = DbTypeEnum.DATE)
    public LocalDate approvedTime;

    /**
     * 终审送审时间
     */
    @DbTableField(columnName = "c_final_submit_time", dbType = DbTypeEnum.DATE)
    public LocalDate finalSubmitTime;

    /**
     * 终审完成时间
     */
    @DbTableField(columnName = "c_final_complete_time", dbType = DbTypeEnum.DATE)
    public LocalDate finalCompleteTime;

    /**
     * 决算金额
     */
    @DbTableField(columnName = "c_final_accounts_money", dbType = DbTypeEnum.DECIMAL)
    public BigDecimal finalAccountsMoney;

    /**
     * 核减率(%)
     */
    @DbTableField(columnName = "c_reduction_rate", dbType = DbTypeEnum.VARCHAR)
    public String reductionRate;

    /**
     * 审计描述
     */
    @DbTableField(columnName = "c_audit_desc", dbType = DbTypeEnum.VARCHAR)
    public String auditDesc;

    /**
     * 备注
     */
    @DbTableField(columnName = "c_remark", dbType = DbTypeEnum.VARCHAR)
    public String remark;

    /**
     * 经办人
     */
    @DbTableField(columnName = "c_operator", dbType = DbTypeEnum.VARCHAR)
    public String operator;

    /**
     * 现场代表
     */
    @DbTableField(columnName = "c_representative", dbType = DbTypeEnum.DECIMAL)
    public BigDecimal representative;

    /**
     * 送审金额
     */
    @DbTableField(columnName = "c_submit_trial_money", dbType = DbTypeEnum.DECIMAL)
    public BigDecimal submitTrialMoney;

    /**
     * 审定金额
     */
    @DbTableField(columnName = "c_examine_approve_money", dbType = DbTypeEnum.DECIMAL)
    public BigDecimal examineApproveMoney;

    /**
     * 送审资料齐全情况
     */
    @DbTableField(columnName = "c_information_situation", dbType = DbTypeEnum.TINYINT)
    public Byte informationSituation;

    /**
     * 审计单位
     */
    @DbTableField(columnName = "c_audit_unit", dbType = DbTypeEnum.VARCHAR)
    public String auditUnit;

    /**
     * 联系人
     */
    @DbTableField(columnName = "c_contact_person", dbType = DbTypeEnum.VARCHAR)
    public String contactPerson;

}
